<?php
	auth(ADMIN,false,true);
	
		
			
			$action = (isset($_GET['action']) ? $_GET['action'] : "defaut");
			//$display = "";
		
	switch($action){
		case "defaut" :
			$display = "<div id=\"container-4_3\" style=\"display:none\">
			              <div class=\"global_container\">Administration des listes
						 
						 <a href=\"".getLienModule("liste","liste.admin")."?action=Form_addListe\">Ajouter une nouvelle Liste</a><br />
						 <a href=\"".getLienModule("liste","liste.admin")."?action=updListe_liste\">Modifier/Supprimer une Liste</a></div></div>";
		break;
		
		case "Form_addListe" :
			$display = '';
			
										 							       	     			// ici on affiche un texte en hut de la page pour le changer c'esty dans modules/titre.php
echo '<div class="cadre_visible contenu">' . titre_modifier_nouvelle_liste . '';

			
		$display = '	
				<form action="'.getLienModule("liste","liste.admin").'?action=addListe" method="post"  enctype="multipart/form-data">
					<label>Titre de la liste* : </label> <input type="text" name="titreListe" id="titleList" /><br />
					<label>Description de la liste* : </label> <textarea name="infoListe" id="descriptionList"></textarea><br />
					<label>Lien du module à attacher* : </label> <input type="text" name="linkModule" id="listeLinkModule" /> (exemple : tuto.html) (Sert à être redirigé vers la page voulu)<br />
					<label>Nom de la table du module* : </label> <input type="text" name="moduleTable" id="listeModuleTable" /> (exemple : tutos) (Sert à compter le nombre d\'entré pour l\'afficher dans le cadre de la liste)<br />
					<label>Image de la liste* : </label> <input type="file" name="linkImageListe" id="listeLinkImage" /><br />
					<label></label><input type="submit" name="sendNewlist" value="Enregistrer" />
				</form>
			</div>';
		break;
		
		
		case "addListe" : 
		
				$e = 0;
				$txErr = "";
			if(isset($_POST['sendNewlist'])){
				
				
					if(empty($_POST['titreListe'])){
						$e++;
						$txErr .= "Veuillez donner un titre à cette nouvelle liste !";	
					}else{
						$query = $pdo->prepare("SELECT titre FROM listes WHERE titre=?");
						$query->execute(array($_POST['titreListe']));
						if($titre_exist->rowCount()!=0){
							$e++;
							$txErr .= "Ce titre est déja pris, merci d'en choisir un autre !";	
						}
					}
					
					if(empty($_POST['infoListe'])){
						$e++;
						$txErr .= "Veuillez donner une description à cette nouvelle liste !";	
					}
					
					if(empty($_POST['linkModule']) || (!preg_match("#\.html#isU",$_POST['linkModule']) && !preg_match("#\.php#isU",$_POST['linkModule']))){
						$e++;
						$txErr .= "Format du lien de module invalide ! (exemple : tuto.html) ";
					}
					
					
					if(empty($_POST['moduleTable'])){
						$e++;
						$txErr .= "Veuillez donner le nom de la table de données du module !";	
					}
					
					if(isset($_FILES['linkImageListe'])){
						$imageListe = 'images/listes/index/'.$_POST['titreListe'];
						$upl = upload($_FILES['linkImageListe'],'images/listes/'.$_POST['titreListe'],1048576,array("png","jpg","jpeg","gif","bmp"));
						
						if($upl===-1){
							$e++;
							$txErr .= "Erreur lors de l'upload de l'image !";
						}elseif($upl===-2){
							$e++;
							$txErr .= "L'extention de l'image choisi est incorrecte, attendu : png,jpg,jpeg,gif,bmp !";
						}elseif($upl===FALSE){
							$e++;
							$txErr .= "L'image choisi dépasse le taille limite autorisée ! (max: 1Mo)";
						}elseif(in_array($upl['etat'],FALSE)){
							$txErr .= "Attention : Un ou plusieurs dossier(s) design n'à/n'ont pas reçus l'image de la liste !";	
						}
						
						$img = $imageListe.'.'.$upl['extention'];
					}else{
						$e++;
						$txErr .= "Merci de choisir une image pour cette nouvelle liste !";
					}
					
					if($e < 1){ 
			
						$query = $pdo->prepare("INSERT INTO listes(id,titre,info,image,tableModule,module) VALUES ('',?,?,?,?,?)");
			$query->execute(array($_POST['titreListe'],$_POST['infoListe'],$img,$_POST['moduleTable'],$_POST['linkModule']));
						redirect('La nouvelle liste `' . $_POST['titreListe'] . '` à été crée !'.$txErr,getLienModule('admin','index.admin'));
					}else{
						$display = (($e > 1) ? $e . " erreurs se sont produites : " : $e . " erreur s'est produite : ") . ''. $txErr;	
					}
					
			}else{
				redirect('Problème technique',getLienModule('admin','index.admin'));	
			}
		break;
		
		case "updListe_liste":
			$query = $pdo->query("SELECT * FROM listes");
	//			$display = '<div class="cadre_transparent">
			//					<div class="parente">
		//							<div class="panel_titre_titre_liste">Titre</div>
				//					<div class="panel_titre_description_liste">Description</div>
					//				<div class="panel_titre_module_liste">Module</div>
						//			<div class="panel_titre_donnee_liste">Cours</div>
							//		<div class="panel_titre_image_liste">Image</div>
								//	<div class="panel_titre_action_liste">Action</div>
			//					</div></div>';
				             
										 							       	     			// ici on affiche un texte en hut de la page pour le changer c'esty dans modules/titre.php
echo '<div class="cadre_visible contenu">' . titre_nouvelle_liste . '';




				while($data = $query->fetch(PDO::FETCH_OBJ)){
					$display .= '
					'.htmlspecialchars($data->titre).'
					'.htmlspecialchars($data->info).'
					'.htmlspecialchars($data->module).'
					'.htmlspecialchars($data->tableModule).'
					{ALL_DESIGN}/'.htmlspecialchars($data->image).'
					<a href="'.getLienModule("liste","liste.admin").'?action=Form_updListe&amp;listID='.intval($data->id).'">Modifier</a>&nbsp;<a href="'.getLienModule("liste","liste.admin").'?action=deleteListe&amp;listID='.intval($data->id).'">Supprimer</a
													  ';
				}
				$display .= '</div>';
							
											$endScript = '<script>
						
							;(function(){
								
								$("fieldset .cadre_border_bottom:last-child").attr("class","cadre_border_nobottom");
								
							})();
						
						</script>';
							
					$display = $display.$endScript;

		break;
		
		case "Form_updListe" :
			if(isset($_GET['listID'])){
				$query = $pdo->prepare("SELECT * FROM listes WHERE id=?");
				$query->execute(array($_GET['listID']));
				
					if($query->rowCount() > 0){
						$data = $query->fetch(PDO::FETCH_OBJ);
						
						
						$display = '<div class="cadre_visible">
				             
							 <div class="cadre_titre">Ajouter une nouvelle liste</div>
				<form action="'.getLienModule("liste","liste.admin").'?action=updListe&listID='.intval($_GET['listID']).'" method="post"  enctype="multipart/form-data">
					<label>Titre de la liste* : </label> <input type="text" name="titreListe" id="titleList" value="'.$data->titre.'" />
					<label>Description de la liste* : </label> <textarea name="infoListe" id="descriptionList">'.$data->info.'</textarea>
					<label>Lien du module à attacher* : </label> <input type="text" name="linkModule" id="listeLinkModule" value="'.$data->module.'"/> (exemple : tuto.html) (Sert à être redirigé vers la page voulu)
					<label>Nom de la table du module* : </label> <input type="text" name="moduleTable" id="listeModuleTable" value="'.$data->tableModule.'" /> (exemple : tutos) (Sert à compter le nombre d\'entré pour l\'afficher dans le cadre de la liste)
					<label>Image de la liste  : </label> <input type="file" name="linkImageListe" id="listeLinkImage" /> (Laisser vide pour ne pas modifier l\'image actuelle)
					<label></label><input type="submit" name="sendUpdlist" value="Enregistrer" />
				</form>
			</div>';
			
			
					}else{
						redirect("Liste innexistante !",getLienModule("liste","liste.admin").'?action=updListe_liste');
					}
			}else{
				redirect("Problème technique",getLienModule("admin","index.admin"));	
			}
		break;
		
		case "updListe" :
			if(isset($_GET['listID'])){
				$e = 0;
				$txErr = "";
				
				$query = $pdo->prepare("SELECT titre,image FROM listes WHERE id=?");
				$query->execute(array($_GET['listID']));
				
		if($query->rowCount() > 0){
				$data = $query->fetch(PDO::FETCH_OBJ);
					
			if(isset($_POST['sendUpdlist'])){
				
				
					if(empty($_POST['titreListe'])){
						$e++;
						$txErr .= "Veuillez donner un titre à cette nouvelle liste !";	
					}else{
						$query = $pdo->prepare("SELECT titre FROM listes WHERE titre=?");
						$query->execute(array($_POST['titreListe']));
						
						if($_POST['titreListe']!=$data->titre){
							if($titre_exist->rowCount()!=0){
								$e++;
								$txErr .= "Ce titre est déja pris, merci d'en choisir un autre !";	
							}
						}
					}
					
					if(empty($_POST['infoListe'])){
						$e++;
						$txErr .= "Veuillez donner une description à cette nouvelle liste !";	
					}
					
					if(empty($_POST['linkModule']) || (!preg_match("#\.html#isU",$_POST['linkModule']) && !preg_match("#\.php#isU",$_POST['linkModule']))){
						$e++;
						$txErr .= "Format du lien de module invalide ! (exemple : tuto.html) ";
					}
					
					
					if(empty($_POST['moduleTable'])){
						$e++;
						$txErr .= "Veuillez donner le nom de la table de données du module !";	
					}
					
					
					if(isset($_FILES['linkImageListe'])){
						$imageListe = 'images/listes/index/'.$_POST['titreListe'];
						$upl = upload($_FILES['linkImageListe'],'images/listes/'.$_POST['titreListe'],1048576,array("png","jpg","jpeg","gif","bmp"));
						
						if($upl===-1){
							$e++;
							$txErr .= "Erreur lors de l'upload de l'image";
						}elseif($upl===-2){
							$e++;
							$txErr .= "L'extention de l'image choisi est incorrecte, attendu : png,jpg,jpeg,gif,bmp ";
						}elseif($upl===FALSE){
							$e++;
							$txErr .= "L'image choisi dépasse le taille limite autorisée ! (max: 1Mo)";
						}elseif(in_array($upl['etat'],FALSE)){
							$txErr .= "Attention : Un ou plusieurs dossier(s) design n'à/n'ont pas reçus l'image de la liste";	
						}
						
						$img = $imageListe.'.'.$upl['extention'];
					}else{
						$img = '';
					}
					
					if($e < 1){ 
				
						
						$titre = ($_POST['titreListe']!=$data->titre) ? '`' . $data->titre . '` à été modifié en `' . $_POST['titreListe'] . '` !' : '`' . $_POST['titreListe'] . '` à été modifié !';
						
						if($img!=''){
							//removeImagesListe($data->image);
							$query = $pdo->prepare("UPDATE listes SET titre=?,info=?,image=?,tableModule=?,module=? WHERE id=?");
							$query->execute(array($_POST['titreListe'],$_POST['infoListe'],$img,$_POST['moduleTable'],$_POST['linkModule'],$_GET['listID']));
						}else{
							$query = $pdo->prepare("UPDATE listes SET titre=?,info=?,tableModule=?,module=? WHERE id=?");
							$query->execute(array($_POST['titreListe'],$_POST['infoListe'],$_POST['moduleTable'],$_POST['linkModule'],$_GET['listID']));	
						}
						
						redirect('La liste ' . $titre . ''.$txErr ,getLienModule('liste','liste.admin').'?action=updListe_liste');
					}else{
						$display = (($e > 1) ? $e . " erreurs se sont produites : " : $e . " erreur s'est produite : ") . ''. $txErr;	
					}
					
				}else{
					redirect('Problème technique',getLienModule('admin','index.admin'));	
				}
		}else{
			redirect("Liste innexistante !",getLienModule("liste","liste.admin").'?action=updListe_liste');
		}
			
			}else{
				redirect('Problème technique',getLienModule('admin','index.admin'));		
			}
			
			
		break;
		
		case "deleteListe" :
			if(isset($_GET['listID'])){
				$query = $pdo->prepare("SELECT titre,image FROM listes WHERE id=?");
				$query->execute(array($_GET['listID']));
				
				if($query->rowCount() > 0){
					$data = $query->fetch(PDO::FETCH_OBJ);
					
					if(isset($_POST['confirm'])){
						if($_POST['confirm'] == "Oui"){
							
							//Suppression de l'image de la liste en même temps que la liste elle même
							removeImagesListe($data->image);
							
							$query2 = $pdo->prepare("DELETE FROM listes WHERE id=?");
							$query2->execute(array($_GET['listID']));
							redirect('La liste `'.htmlspecialchars($data->titre).'` à bien été supprimée !',getLienModule("liste","liste.admin").'?action=updListe_liste');
						}else{
							redirect("Action annulée !",getLienModule("liste","liste.admin").'?action=updListe_liste');
						}
						
					}else{
						
						$display = 'Voulez-vous vraiment supprimer la liste `'.htmlspecialchars($data->titre).'` ?Attention cette action est irreversible !
		<form action="'.getLienModule('liste','liste.admin').'?action=deleteListe&amp;listID='.intval($_GET['listID']).'" method="post">
						<input type="submit" name="confirm" value="Non" />&nbsp;<input type="submit" name="confirm" value="Oui" />
						</form>';	
					}
				}else{
					redirect("Liste innexistante !",getLienModule("liste","liste.admin").'?action=updListe_liste');
				}
		
			}else{
				redirect('Problème technique',getLienModule('admin','index.admin'));
			}
			
		break;
	}
	
if(!strstr($_SERVER['REQUEST_URI'],"index.admin"))
    echo $display;
?>